Japanese Published Unexamined Patent Application No. 11-327908 discloses an agent server. It discloses that the agent server limits the number of active agents in order to control increase in loads and notifies each member of a predetermined message by using an agent. It is incorporated herein by reference in entirety for all purposes.
The following describes problems that are to be solved by the present invention. As for a concrete example of the message processing server, there is a mail delivery server for notifying a member of acceptance of predetermined cause information. Concrete needs of such a mail delivery server will be considered here. For instance, as an expected need, the member pre-registers with a subscription table a condition for giving a notice desired by the member (ex. a notice that the IBM's stock price became P yen or higher). And if the message processing server receives a message such as fluctuations in stock prices from a client (ex. a computer provided to a predetermined securities company for receiving stock prices of enterprises online), it identifies the member whose cause is the message from the subscription table by performing a search and gives a notice to the identified member.
An agent server of the Japanese Published Unexamined Patent Application No. 11-327908 neither pre-registers with the subscription table the condition for giving a notice to each member to be notified nor searches for the member to be notified as to the message from the subscription table and delivers notice mail to the member.
The following need is also expected as to the mail delivery server. In the case where different messages arise closely and the notice mails relating to the different messages are delivered to the same member, it is desired to assign priorities to the notice mails to send the notice mails in order of priorities. For instance, a typical member to be notified wishes to receive the notice mail relating to stock price information earlier than the notice mail of other contents such as new product introduction in a predetermined field. A notice mail message processing application implemented on the server utilizes a multi-thread instead of a single thread for the sake of reducing overall processing time. Therefore, if the thread is allocated to each message and the message is inserted into a message queue related to each member, it takes longer time to insert the message having a large number of total members into the message queue for each member than to insert the message having a small number of total members therein so that of a high priority may get to the member later than that of a low priority.
In the case where gold members and normal members are included as grading of the members, it is desirable from the business point of view that the notice mail related to the same information get to the gold members earlier than to the normal members, that is, the gold members should have a higher priority than the normal members. While the gold members should have a higher priority, there is also an expected need that low-grade members should have urgent notice mail, that is, the notice mail of a high priority in terms of the contents delivered earlier than (in preference to) unhurried notice mail to high-grade members.
As another expected need, there will be the cases where, when there are a plurality of pieces of notice mail of different contents to be delivered to the same member, they must be delivered in order of acceptance of the cause information thereof For instance, in the case where the IBM's stock price becomes P1 and then becomes P2 (P2<P1) several seconds later, the member to be notified as to the notice mail caused by both the messages must receive the notice mail related to the P1 first and then receive the notice mail related to the P2. Otherwise, the member will misunderstand it as a rise in the stock price although it is a drop in the stock price. In the case where a multi-thread message processing application is developed, the application has the processing performed by a plurality of threads in parallel. Therefore, depending on size of a throughput of each thread, the thread allocated to the later message finishes the processing earlier than the thread allocated to the earlier message so that the notice mail related to the message later time-wise may get to the member to be notified earlier than the notice mail related to the message earlier time-wise.